public class E05ArrayOrder {
    public static void main(String[] args) {
        /*排序是将多个数据，以指定的顺序进行排列的过程
        1.内部排序：
        指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法、选择排序式法和插入式排序法)；
        2. 外部排序法：
        数据量过大，无法全部加载到内存中，需要记住外部存储进行排序。包括(合并排序法和直接排序法)。

        * */

        /*冒泡排序法
        冒泡排序的基本思想：通过对待排序序列从后向前(从下表较大的元素开始) ，一次比较相邻元素的值 ，若发现逆序则交换 ，使值较大的元素逐渐从前移向后部，就像水底下的气泡一样逐渐向上冒。
        冒泡排序的特点：
        */

        //冒泡排序法案例
        //下面我们举一个具体案例来说明冒泡排序法。我们将五个乱序数：24, ,69, 80, 57, 13 使用冒泡排序法将其排成一个从小到达的有序数列。
        /*思路分析

        * */
        int[] arr = {24, 69, 80, 57, 13};
        boolean flag;
        for (int i = 0; i < arr.length; i++) {
            flag = false;
            for (int j = 0; j < arr.length; j++) {
                if(arr[i]>arr[i+1]){
                    int temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                    flag = true;
                }
            }
            if(!flag) break;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}
